1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, systems, and products for administration of keyboard input in a computer having a display device supporting a graphical user interface.
2. Description of Related Art
A widget is a graphical user interface (“GUI”) component that implements user input for interfacing with software applications and operating systems. ‘Widget’ is a generic term. In some environments other terms are used for the same thing. In Java environments, for example, widgets are often referred to as ‘components.’ This disclosure uses the term ‘widgets.’
Widgets display information and invite a user to act in a number of ways to input data to a program. Examples of widgets include buttons, dialog boxes, pop-up windows, pull-down menus, icons, scroll bard, resizable window edges, progress indicators, selection boxes, windows, tear-off menus, menu bars, toggles switches, checkboxes, and forms. The term ‘widget’ also refers to the underlying software program that displays the graphic component of the widget in a GUI look and operates the widget, depending on what action the user takes while operating the GUI in response to the widget. That is, ‘widget,’ depending on context, refers to a GUI component, a software program controlling a GUI component, or to both the component and the program.
A GUI typically supports multiple windows. Each window will receive input from a keyboard, a mouse, and other user input devices, but only one window may receive input at any one time. The window currently receiving user input is said to have the input focus. The term ‘input focus’ is generic, but it is often used interchangeably with the term ‘keyboard focus.’ This disclosure generally uses the term ‘keyboard focus,’ or, more simply, just ‘focus.’ In fact, when a window has the focus, input data is actually sent to a widget operating in the window. Just as a GUI supports many windows, each window may include many widgets, only one of which can receive input at any particular time. The widget presently receiving input also is said to have the focus. Focus is often set or changed under express user control. The tab and shift-tab keys are often used in GUIs to move focus from widget to widget in a circular per-window list. A user mouseclick or other direct widget selection such as a stylus press on a touch-sensitive GUI screen is often used to move focus to a widget or to a window.
It is common that a user shifts focus to a window with no way of controlling which widget will get the focus. When a user can use Alt-Tab in some GUIs to shift focus among windows, it is the window that gains focus that decides which widget get focus. Similarly, when a user move focus to a window by running a new application in a new window, again it is the window that gains focus that decides which widget get focus. The window's rules or mechanisms for deciding which widget gets focus are referred to in this specification as a ‘policy.’ Such policies can be complex, such as, for example, rules for selecting a widget for focus when a window contains a browser screen displaying many widgets that display advertisements and operate hyperlinks to web sites of advertisers who have paid to have their widget preferred for first focus in dependence upon frequency, most recent focus, fee amounts, and so on.
The fact that a window's focus policy determines which widget gets first focus when the window gains focus can give rise to some user frustration. Sometimes a user navigates a browser to a web page, such as a search engine site, for example, that the user knows to requires some user input, search keywords, for example, When the screen comes up on the computer display, the user types a keyword and presses Enter. Nothing happens. The user looks up to find that the window set focus to an advertisement instead the pertinent text entry widget. The user's typed input is lost. For this reason, at least, there is room for improvement in the administration of keyboard input in computer systems with GUIs.